#ifndef _CLOCK_LCD_CLOCK_H_
#define _CLOCK_LCD_CLOCK_H_

#include <clock/clock.h>
#include <lcd/lcd.h>


namespace clock
{

class lcd_clock
    : public abstract_clock
{
public:

  lcd_clock(lcd::abstract_lcd* screen, int line, int col);
  ~lcd_clock(void) { delete _lcd; }

  void update(unsigned long delta);

  void blink_hour(bool status);
  void blink_minute(bool status);
  void blink_second(bool status);

private:

  lcd::abstract_lcd* _lcd;

  int _line;
  int _col_hour, _col_min, _col_sec;

  bool _blink[3];
  bool _blink_status[3];
};

} // clock

#endif // _CLOCK_LCD_CLOCK_H_
